/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.cpal.entrenamiento.dao.impl;

import com.cpal.entrenamiento.dao.IEntrenamientoDAO;
import com.cpal.entrenamiento.entity.Entrenamiento;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import org.springframework.stereotype.Repository;

/**
 *
 * @author onoel
 */
@Repository
public class EntrenamientoDAO extends SqlMapClientDaoSupport implements IEntrenamientoDAO {

    @Override
    public List<Entrenamiento> buscarEntrenamiento(Entrenamiento entrenamiento) throws DataAccessException {
        Map<String, Object> parameterMap = new HashMap<String, Object>();
        parameterMap.put("codigo", entrenamiento.getCodigo());
        parameterMap.put("pacienteCodigo", entrenamiento.getPaciente().getCodigo());
        parameterMap.put("terapeutaCodigo", entrenamiento.getTerapeuta().getCodigo());
        parameterMap.put("descripcion", entrenamiento.getDescripcion());
        parameterMap.put("fechaInicio", entrenamiento.getFechaInicio());
        parameterMap.put("fechaFin", entrenamiento.getFechaFin());
        parameterMap.put("estado", entrenamiento.getEstado());

        return getSqlMapClientTemplate().queryForList("buscarEntrenamiento", parameterMap);
    }

    @Override
    public void eliminarEntrenamiento(Entrenamiento entrenamiento) throws DataAccessException {
        Map<String, Object> parameterMap = new HashMap<String, Object>();
        parameterMap.put("codigo", entrenamiento.getCodigo());
        getSqlMapClientTemplate().update("eliminarEntrenamiento", parameterMap);
    }

    @Override
    public void insertarEntrenamiento(Entrenamiento entrenamiento) throws DataAccessException {
        Map<String, Object> parameterMap = new HashMap<String, Object>();
        //parameterMap.put("codigo", entrenamiento.getCodigo());
        parameterMap.put("pacienteCodigo", entrenamiento.getPaciente().getCodigo());
        parameterMap.put("terapeutaCodigo", entrenamiento.getTerapeuta().getCodigo());
        parameterMap.put("descripcion", entrenamiento.getDescripcion());
        parameterMap.put("fechaInicio", entrenamiento.getFechaInicio());
        parameterMap.put("fechaFin", entrenamiento.getFechaFin());
        parameterMap.put("estado", entrenamiento.getEstado());

        getSqlMapClientTemplate().insert("insertarEntrenamiento", parameterMap);
    }

    @Override
    public void actualizarEntrenamiento(Entrenamiento entrenamiento) throws DataAccessException {
        Map<String, Object> parameterMap = new HashMap<String, Object>();
        parameterMap.put("codigo", entrenamiento.getCodigo());
        parameterMap.put("pacienteCodigo", entrenamiento.getPaciente().getCodigo());
        parameterMap.put("terapeutaCodigo", entrenamiento.getTerapeuta().getCodigo());
        parameterMap.put("descripcion", entrenamiento.getDescripcion());
        parameterMap.put("fechaInicio", entrenamiento.getFechaInicio());
        parameterMap.put("fechaFin", entrenamiento.getFechaFin());
        parameterMap.put("estado", entrenamiento.getEstado());
        
        getSqlMapClientTemplate().update("actualizarEntrenamiento", parameterMap);
        
    }
}
